package es.qb.deportivos.il.domain;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name = "JUGADORES")
public class Jugador extends BaseDomainObject implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 5726361415603495717L;

	/**
	 * Id del Jugador
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "JUGADOR_ID")
	private Integer id;

	/**
	 * Tipo Jugador.
	 */
	@ManyToOne
	@JoinColumn(name = "TIPO_JUGADOR_ID", nullable = false)
	private TipoJugador tipoJugador = new TipoJugador();

	/**
	 * Usuario
	 */
	@Column(name = "USUARIO", nullable = false)
	private String usuario = "";

	/**
	 * Nombre
	 */
	@Column(name = "NOMBRE", nullable = false)
	private String nombre;

	/**
	 * Partidos Jugados
	 */
	@Transient
	private Long pj;

	/**
	 * Partidos Ganados
	 */
	@Transient
	private Long pg;

	/**
	 * Partidos Empatados
	 */
	@Transient
	private Long pe;

	/**
	 * Partidos Perdidos
	 */
	@Transient
	private Long pp;

	/**
	 * Goles.
	 */
	@Transient
	private Long gol;

	/**
	 * @return the id
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * @return the nombre
	 */
	public String getNombre() {
		return nombre;
	}

	/**
	 * @param nombre
	 *            the nombre to set
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	/**
	 * @return the usuario
	 */
	public String getUsuario() {
		return usuario;
	}

	/**
	 * @param usuario
	 *            the usuario to set
	 */
	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}

	/**
	 * @return the tipoJugador
	 */
	public TipoJugador getTipoJugador() {
		return tipoJugador;
	}

	/**
	 * @param tipoJugador
	 *            the tipoJugador to set
	 */
	public void setTipoJugador(TipoJugador tipoJugador) {
		this.tipoJugador = tipoJugador;
	}

	/**
	 * @return the pj
	 */
	public Long getPj() {
		return pj;
	}

	/**
	 * @param pj
	 *            the pj to set
	 */
	public void setPj(Long pj) {
		this.pj = pj;
	}

	/**
	 * @return the pg
	 */
	public Long getPg() {
		return pg;
	}

	/**
	 * @param pg
	 *            the pg to set
	 */
	public void setPg(Long pg) {
		this.pg = pg;
	}

	/**
	 * @return the pe
	 */
	public Long getPe() {
		return pe;
	}

	/**
	 * @param pe
	 *            the pe to set
	 */
	public void setPe(Long pe) {
		this.pe = pe;
	}

	/**
	 * @return the pp
	 */
	public Long getPp() {
		return pp;
	}

	/**
	 * @param pp
	 *            the pp to set
	 */
	public void setPp(Long pp) {
		this.pp = pp;
	}

	/**
	 * @return the gol
	 */
	public Long getGol() {
		return gol;
	}

	/**
	 * @param gol
	 *            the gol to set
	 */
	public void setGol(Long gol) {
		this.gol = gol;
	}

	private Double valoracionMedia;

	public Double getValoracionMedia() {
		return valoracionMedia;
	}

	public void setValoracionMedia(Double valoracionMedia) {
		this.valoracionMedia = valoracionMedia;
	}

}
